package com.kgc.novel.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("book_manage")
@Api(tags = "书本管理类")
public class BookManage implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 书名
     */
    @ApiParam("书名")
    @TableField("book_name")
    private String bookName;
    /**
     * 口令码
     */
    @ApiParam("口令码")
    @TableField("code")
    private String code;
    /**
     * 作者Id
     */
    @ApiParam("作者Id")
    @TableField("author_id")
    private String authorId;
    /**
     * 分类Id
     */
    @ApiParam("分类Id")
    @TableField("classify_id")
    private String classifyId;
    /**
     * 标签Id
     */
    @ApiParam("标签Id")
    @TableField("tag_id")
    private String tagId;
    /**
     * 简介
     */
    @ApiParam("简介")
    @TableField("introduction")
    private String introduction;
    /**
     * 浏览量
     */
    @ApiParam("浏览量")
    @TableField("visit_count")
    private Integer visitCount;
    /**
     * 精选内容
     */
    @ApiParam("精选内容")
    @TableField("summary")
    private String summary;
    /**
     * 封面URL地址
     */
    @ApiParam("封面URL地址")
    @TableField("poster_url")
    private String posterUrl;
    /**
     * 是否完结；0：表示已完结；1：表示未完结；默认已完结
     */
    @ApiParam("是否完结；0：表示已完结；1：表示未完结；默认已完结")
    @TableField("end")
    private Byte end;

    /**
     * 书本状态(0已上架,1已下架,2待审核,3审核未通过)
     */
    @ApiParam("书本状态(0已上架,1已下架,2待审核,3审核未通过)")
    @TableField("status")
    private Byte status;

    /**
     * 创建时间
     */
    @ApiParam("创建时间")
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @ApiParam("更新时间")
    @TableField("update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    /**
     * 显示排序(越大越往后)
     */
    @ApiParam("显示排序(越大越往后)")
    @TableField("sort_num")
    private Integer sortNum;
    /**
     * 逻辑删除(0未删除,1已删除)
     */
    @ApiParam("逻辑删除(0未删除,1已删除)")
    @TableField("deleted")
    private Byte deleted;
}
